package com.qq.tars.quickstart.client.testapp;

import com.qq.tars.client.Communicator;
import com.qq.tars.client.CommunicatorConfig;
import com.qq.tars.client.CommunicatorFactory;

public class Application {
    public static void main(String[] args) {
        // tars服务寻址有两种方式：1. 服务名不在主控注册 2. 服务名在主控注册

        // 1. 服务名不在主控注册
        // CommunicatorConfig cfg = new CommunicatorConfig();  // 构建通信器
        // HelloPrx proxy = communicator.stringToProxy(HelloPrx.class, "DemoApp.HelloJava.HelloObj@tcp -h 172.25.1.5 -p 9005 -t 60000");  // 通过通信器，生成代理对象

        // 2. 服务名在主控注册
        Communicator communicator = CommunicatorFactory.getInstance().getCommunicator("tars.tarsregistry.QueryObj@tcp -h 172.25.1.3 -t 60000 -p 17890");  // 构建通信器
        HelloPrx proxy = communicator.stringToProxy(HelloPrx.class, "DemoApp.HelloJava.HelloObj");  // 通过通信器，生成代理对象

        proxy.async_hello(new HelloPrxCallback() {

            @Override
            public void callback_expired() {
            }

            @Override
            public void callback_exception(Throwable ex) {
            }

            @Override
            public void callback_hello(String ret) {
                System.out.println(ret);
            }
        }, 1000, "HelloWorld");
    }
}
